package br.seplan.daos;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import br.seplan.dao.conection.ConnectionFactory;
import br.seplan.entidades.Fornecedor;
import br.seplan.entidades.TipoUsuario;
import br.seplan.entidades.Usuario;


public class FornecedorDAO {
	private final String SQL_INSERT = "INSERT INTO FORNECEDOR (nome, empresa, telefoneContato, obs) VALUES (?,?,?,?);";
	
	private final String SQL_SELECT_ALL = "SELECT * FROM FORNECEDOR;";
	
	
	public void cadastrar(Fornecedor fornecedor){
		Connection conexaoComOBanco = ConnectionFactory.conectar();
		try {
			PreparedStatement ps = conexaoComOBanco.prepareStatement(SQL_INSERT);
			ps.setString(1, fornecedor.getNome());
			ps.setString(2, fornecedor.getEmpresa());
			ps.setString(3, fornecedor.getTelefoneContato());
			ps.setString(4, fornecedor.getObs());
		
			ps.execute();
			ConnectionFactory.desconectar(conexaoComOBanco);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public ArrayList<Fornecedor> findAll(){
		Connection conexaoComOBanco = ConnectionFactory.conectar();
		ArrayList<Fornecedor> listaFornecedores = new ArrayList<Fornecedor>();
		try {
			PreparedStatement ps = conexaoComOBanco.prepareStatement(SQL_SELECT_ALL);
			ResultSet linhas = ps.executeQuery();
			while (linhas.next()) {
				Fornecedor fornecedor = new Fornecedor(linhas.getInt("idFornecedor"), linhas.getString("nome"), linhas.getString("empresa"),
						linhas.getString("telefoneContato"),linhas.getString("obs"));
			
				listaFornecedores.add(fornecedor);
			}
			ConnectionFactory.desconectar(conexaoComOBanco);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return listaFornecedores;
		
	}
}
